package com.aoxun.core.cos;

import java.util.Map;

import org.apache.commons.lang3.StringUtils;

import com.aoxun.core.util.PropertiesLoader;
import com.google.common.collect.Maps;

/**
 * cos配置类
 * 
 * @author zhongfusheng
 * @version 2014-06-25
 */
public class CosConfig {

	/**
	 * 当前对象实例
	 */
	private static CosConfig config = new CosConfig();

	/**
	 * 保存属性值
	 */
	private static Map<String, String> map = Maps.newHashMap();

	/**
	 * 属性文件加载对象
	 */
	private static PropertiesLoader loader = new PropertiesLoader(
			"cos.properties");

	/**
	 * 获取当前对象实例
	 */
	public static CosConfig getInstance() {
		return config;
	}

	/**
	 * 获取配置
	 * 
	 */
	public static String getConfig(String key) {
		String value = map.get(key);
		if (value == null) {
			value = loader.getProperty(key);
			map.put(key, value != null ? value : StringUtils.EMPTY);
		}
		return value;
	}

	/**
	 * 获取appId
	 */
	public static int getAppId() {
		return Integer.valueOf(getConfig("appId"));
	}

	/**
	 * 获取secretId
	 */
	public static String getSecretId() {
		return getConfig("secretId");
	}

	/**
	 * 获取secretKey
	 */
	public static String getSecretKey() {
		return getConfig("secretKey");
	}
	
	/**
	 * 获取bucket
	 */
	public static String getBucket() {
		return getConfig("bucket");
	}

	/**
	 * 获取suffix(支持上传的文件后缀)
	 */
	public static String getSuffix() {
		return getConfig("suffix");
	}
	
	/**
	 * 获取accessHost
	 */
	public static String getAccessHost() {
		return getConfig("accessHost");
	}

}
